home *** CD-ROM | disk | FTP | other *** search
/ Freelog 117 / FreelogNo117-OctobreNovembre2013.iso / Programmation / jedit / jedit5.1.0install.exe / {app} / modes / inform.xml < prev    next >
Extensible Markup Language  |  2013-07-28  |  7KB  |  204 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4.  
  5. <MODE>
  6.       <!-- Syntax highlighting mode for the Inform language. You can find out more about inform at
  7.            http://www.gnelson.demon.co.uk/inform.html
  8.            And an inform language guide at
  9.            http://www.gnelson.demon.co.uk/dman/index.html
  10.         -->
  11.     <PROPS>
  12.         <!--
  13.         <PROPERTY NAME="commentStart" VALUE="/*" />
  14.         <PROPERTY NAME="commentEnd" VALUE="*/" />
  15.         -->
  16.         <PROPERTY NAME="lineComment" VALUE="!" />
  17.         <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
  18.  
  19.         <!-- Auto indent -->
  20.         <PROPERTY NAME="indentOpenBrackets" VALUE="{[" />
  21.         <PROPERTY NAME="indentCloseBrackets" VALUE="}]" />
  22.         <PROPERTY NAME="indentNextLine"
  23.             VALUE="\s*(((if|while)\s*\(|else\s*|else\s+if\s*\(|for\s*\(.*\))[^{;]*)" />
  24.         <!-- set this to 'true' if you want to use GNU coding style -->
  25.         <PROPERTY NAME="doubleBracketIndent" VALUE="false" />
  26.     </PROPS>
  27.  
  28.     <RULES
  29.             IGNORE_CASE="FALSE"
  30.             HIGHLIGHT_DIGITS="TRUE"
  31.             DIGIT_RE="(\$[\p{XDigit}]|[\p{Digit}])">
  32.         <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  33.  
  34.         <!-- strings can span lines -->
  35.         <SPAN TYPE="LITERAL1" DELEGATE="InformInnerText">
  36.             <BEGIN>"</BEGIN>
  37.             <END>"</END>
  38.         </SPAN>
  39.         <SPAN TYPE="LITERAL2">
  40.             <BEGIN>'</BEGIN>
  41.             <END>'</END>
  42.         </SPAN>
  43.  
  44.         <!-- preprocessor statements -->
  45.         <EOL_SPAN TYPE="KEYWORD2">#</EOL_SPAN>
  46.         <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  47.  
  48.         <!-- special sequences that require special highlighting -->
  49.         <SEQ TYPE="OPERATOR">=</SEQ>
  50.         <SEQ TYPE="OPERATOR">==</SEQ>
  51.         <SEQ TYPE="OPERATOR">>=</SEQ>
  52.         <SEQ TYPE="OPERATOR"><=</SEQ>
  53.         <SEQ TYPE="OPERATOR">~=</SEQ>
  54.         <SEQ TYPE="OPERATOR">+</SEQ>
  55.         <SEQ TYPE="OPERATOR">-</SEQ>
  56.         <SEQ TYPE="OPERATOR">$</SEQ>
  57.         <SEQ TYPE="OPERATOR">/</SEQ>
  58.         <SEQ TYPE="OPERATOR">*</SEQ>
  59.         <SEQ TYPE="OPERATOR">></SEQ>
  60.         <SEQ TYPE="OPERATOR"><</SEQ>
  61.         <SEQ TYPE="OPERATOR">%</SEQ>
  62.         <SEQ TYPE="OPERATOR">&</SEQ>
  63.         <SEQ TYPE="OPERATOR">|</SEQ>
  64.         <SEQ TYPE="OPERATOR">^</SEQ>
  65.         <SEQ TYPE="OPERATOR">~</SEQ>
  66.         <SEQ TYPE="OPERATOR">}</SEQ>
  67.         <SEQ TYPE="OPERATOR">{</SEQ>
  68.         <SEQ TYPE="OPERATOR">]</SEQ>
  69.         <SEQ TYPE="OPERATOR">[</SEQ>
  70.  
  71.         <SEQ TYPE="OPERATOR">.&</SEQ>
  72.         <SEQ TYPE="OPERATOR">.#</SEQ>
  73.         <SEQ TYPE="OPERATOR">--></SEQ>
  74.  
  75.         <!-- Function calls -->
  76.         <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">(</MARK_PREVIOUS>
  77.         <SEQ TYPE="OPERATOR">)</SEQ>
  78.         <MARK_PREVIOUS TYPE="FUNCTION" MATCH_TYPE="OPERATOR">::</MARK_PREVIOUS>
  79.  
  80.         <MARK_PREVIOUS AT_WHITESPACE_END="FALSE"
  81.             MATCH_TYPE="OPERATOR"
  82.             TYPE="LABEL">:</MARK_PREVIOUS>
  83.  
  84.         <KEYWORDS>
  85.             <!-- operators -->
  86.             <KEYWORD1>has</KEYWORD1>
  87.             <KEYWORD1>hasnt</KEYWORD1>
  88.             <KEYWORD1>in</KEYWORD1>
  89.             <KEYWORD1>notin</KEYWORD1>
  90.             <KEYWORD1>ofclass</KEYWORD1>
  91.             <KEYWORD1>provides</KEYWORD1>
  92.             <KEYWORD1>or</KEYWORD1>
  93.  
  94.             <!-- text-base conversion functions -->
  95.             <LITERAL2>char</LITERAL2>
  96.             <LITERAL2>string</LITERAL2>
  97.             <LITERAL2>address</LITERAL2>
  98.             <LITERAL2>name</LITERAL2>
  99.             <LITERAL2>a</LITERAL2>
  100.             <LITERAL2>an</LITERAL2>
  101.             <LITERAL2>the</LITERAL2>
  102.             <LITERAL2>The</LITERAL2>
  103.             <LITERAL2>property</LITERAL2>
  104.             <LITERAL2>object</LITERAL2>
  105.  
  106.             <!-- language semantics -->
  107.             <KEYWORD1>break</KEYWORD1>
  108.             <KEYWORD1>continue</KEYWORD1>
  109.             <KEYWORD1>do</KEYWORD1>
  110.                 <KEYWORD1>until</KEYWORD1>
  111.             <KEYWORD1>for</KEYWORD1>
  112.             <KEYWORD1>give</KEYWORD1>
  113.             <KEYWORD1>if</KEYWORD1>
  114.                 <KEYWORD1>else</KEYWORD1>
  115.             <KEYWORD1>inversion</KEYWORD1>
  116.             <KEYWORD1>jump</KEYWORD1>
  117.             <KEYWORD1>move</KEYWORD1>
  118.                 <KEYWORD2>to</KEYWORD2>
  119.             <KEYWORD1>objectloop</KEYWORD1>
  120.             <KEYWORD1>remove</KEYWORD1>
  121.             <KEYWORD1>return</KEYWORD1>
  122.             <KEYWORD1>rfalse</KEYWORD1>
  123.             <KEYWORD1>rtrue</KEYWORD1>
  124.             <KEYWORD1>string</KEYWORD1>
  125.             <KEYWORD1>switch</KEYWORD1>
  126.             <KEYWORD1>while</KEYWORD1>
  127.  
  128.             <!-- class keyworks -->
  129.             <KEYWORD1>with</KEYWORD1>
  130. <!--            <KEYWORD1>has</KEYWORD1> -->
  131.  
  132.             <!-- built-in functions -->
  133.             <FUNCTION>new_line</FUNCTION>
  134.             <FUNCTION>print</FUNCTION>
  135.             <FUNCTION>print_ret</FUNCTION>
  136.             <FUNCTION>box</FUNCTION>
  137.             <FUNCTION>font</FUNCTION>
  138.                 <KEYWORD2>on</KEYWORD2>
  139.                 <KEYWORD2>off</KEYWORD2>
  140.             <FUNCTION>quit</FUNCTION>
  141.             <FUNCTION>read</FUNCTION>
  142.             <FUNCTION>restore</FUNCTION>
  143.             <FUNCTION>save</FUNCTION>
  144.             <FUNCTION>spaces</FUNCTION>
  145.             <FUNCTION>style</FUNCTION>
  146.                 <KEYWORD2>roman</KEYWORD2>
  147.                 <KEYWORD2>bold</KEYWORD2>
  148.                 <KEYWORD2>underline</KEYWORD2>
  149.                 <KEYWORD2>reverse</KEYWORD2>
  150.                 <KEYWORD2>fixed</KEYWORD2>
  151.             <FUNCTION>score</FUNCTION>
  152.             <FUNCTION>time</FUNCTION>
  153.  
  154.             <!-- Top-level keyworks -->
  155.             <KEYWORD3>Abbreviate</KEYWORD3>
  156.             <KEYWORD3>Array</KEYWORD3>
  157.             <KEYWORD3>Attribute</KEYWORD3>
  158.             <KEYWORD3>Class</KEYWORD3>
  159.             <KEYWORD3>Constant</KEYWORD3>
  160.             <KEYWORD3>Default</KEYWORD3>
  161.             <KEYWORD3>End</KEYWORD3>
  162.             <KEYWORD3>Endif</KEYWORD3>
  163.             <KEYWORD3>Extend</KEYWORD3>
  164.             <KEYWORD3>Global</KEYWORD3>
  165.             <KEYWORD3>Ifdef</KEYWORD3>
  166.             <KEYWORD3>Ifndef</KEYWORD3>
  167.             <KEYWORD3>Ifnot</KEYWORD3>
  168.             <KEYWORD3>Iftrue</KEYWORD3>
  169.             <KEYWORD3>Iffalse</KEYWORD3>
  170.             <KEYWORD3>Import</KEYWORD3>
  171.             <KEYWORD3>Include</KEYWORD3>
  172.             <KEYWORD3>Link</KEYWORD3>
  173.             <KEYWORD3>Lowstring</KEYWORD3>
  174.             <KEYWORD3>Message</KEYWORD3>
  175.             <KEYWORD3>Object</KEYWORD3>
  176.             <KEYWORD3>Property</KEYWORD3>
  177.             <KEYWORD3>Replace</KEYWORD3>
  178.             <KEYWORD3>Serial</KEYWORD3>
  179.             <KEYWORD3>Switches</KEYWORD3>
  180.             <KEYWORD3>Statusline</KEYWORD3>
  181.             <KEYWORD3>System_file</KEYWORD3>
  182.             <KEYWORD3>Verb</KEYWORD3>
  183.             <KEYWORD3>private</KEYWORD3>
  184.  
  185.             <LITERAL2>false</LITERAL2>
  186.             <LITERAL2>true</LITERAL2>
  187.             <LITERAL2>null</LITERAL2>
  188.             <LITERAL2>super</LITERAL2>
  189.             <LITERAL2>self</LITERAL2>
  190.  
  191.             <INVALID>this</INVALID>
  192.         </KEYWORDS>
  193.     </RULES>
  194.     <RULES SET="InformInnerText" IGNORE_CASE="FALSE" DEFAULT="LITERAL1">
  195.         <SEQ TYPE="OPERATOR">^</SEQ>
  196.         <SEQ TYPE="OPERATOR">~</SEQ>
  197.         <SEQ TYPE="OPERATOR">@</SEQ>
  198.         <SEQ TYPE="OPERATOR">\</SEQ>
  199.  
  200.         <!-- escaping the @ symbol -->
  201.         <SEQ TYPE="LITERAL2">@@</SEQ>
  202.     </RULES>
  203. </MODE>
  204.